1. Statement of the Technical Field
The present invention relates to the field of pervasive computing and more particularly to an interface for location-based service adapters.
2. Description of the Related Art
Personal computers no longer are the most common vehicle through which users connect to data communications networks like the Internet. Now that computing can be viewed as being truly everywhere, computer scientists and information technologists have begun to rethink those services that can be provided to meet the needs of mobile computing users. In consequence, the study of pervasive computing has resulted in substantial innovation in the field of network connectivity. “Pervasive computing” has been defined as referring to any non-constrained computing device not physically tethered to a data communications network. Thus, pervasive computing devices refer not only to computers wirelessly linked to networks, but also to handheld computing devices, wearable systems, embedded computing systems and the like.
In the case of pervasive computing devices, mobile users often prefer that the data reflect the location of the pervasive computing device. Notably, while in conventional telephony, it would be unusual to investigate the location of the computing device as phone numbers are linked to a static, geographic location place, in mobile computing, the phone number associated with a pervasive device bears no relation to the physical location of the pervasive device.
Location-based services allow mobile users of pervasive devices and those who communicate with mobile users of pervasive devices to have some knowledge of the geographic proximity of the mobile users. From the perspective of the mobile user, weather forecasts can be requested and provided based upon the location of the mobile user. Likewise, local services such as restrooms or restaurants which are proximate to the pervasive device can be identified based upon the location of the pervasive device. Advantageously, using location-based services it is unnecessary for mobile users first to manually specify ZIP codes or other location identifiers. Rather, the location of the pervasive device can be determined from the pervasive device, itself.
Location-based services typically are deployed in a wireless network in which wireless clients can include cellular telephones, personal digital assistants, paging devices, on-board embedded computing devices and the like. Location finding equipment also can be included within the wireless network and can include satellite based locators, radio-frequency locators and other location detection devices. Network requests from the wireless clients can be forwarded to application servers as can the location data provided by the location finding equipment. The location data can be specified using the well-known Geography Markup Language (GML) and can be selectably forwarded to location-based applications, for instance within the headers of the network requests. Notably, not only can absolute positioning data be provided, but intentionally less certain data can be provided based upon “uncertainty attributes” well-known in the art.
Based upon the location data, the location-based application can provide any number of location-based services, including providing a textual, audible or visual representation of the mobile user's location, or services proximately available to the mobile user. When combined with mobile user preference and profile information, location-based services can drive mobile commerce—the revenue engine of the wireless market. Thus, a bevy of location-based services have been deployed to the Internet, each service having implemented one or more location-based applications.
Given the proliferation of location-based services, application servers now can access multiple, disparate location-based services through differing location service interfaces. In consequence, integration and aggregation have become significant challenges to the implementation of a composite location-based service. Specifically, each location-based service vendor can provide a different, application programming interface (API) to their respective location-based application.
While some vendors support the well-known extensible markup language (XML) both in their API and in the output provided by the location-based application, other vendors support only a proprietary format for both application input and output. Accordingly, applications deployed for use in a network of pervasive devices which support location-based services must include a design specifically tailored to the API of each supported back-end location-based application, requiring substantially more programming expertise than may be feasible. Accordingly, such applications can bear the burden of increased complexity of design and maintenance.